/* 
 * Copyright (c) 2012, Fromentin Xavier, Schnell Michaël, Dervin Cyrielle, Brabant Quentin
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *      * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *      * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *      * The names of its contributors may not be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Fromentin Xavier, Schnell Michaël, Dervin Cyrielle OR Brabant Quentin 
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package gword.generateur;

import java.util.Hashtable;

/**
 * Contains generation constants.
 * 
 * @author		Schnell Michaël
 * @version		1.0
 */
public interface GenerationConstants {

	/**
	 * Default author the document properties.
	 */
	public static final String DOCUMENT_DEFAULT_AUTHOR = "Generated using Kameleon software" ; //$NON-NLS-1$

	/**
	 * Default last author the for the document properties.
	 */
	public static final String DEFAULT_LAST_AUTHOR = "Kameleon software" ; //$NON-NLS-1$

	
	/**
	 * Identifier of the bullet list style.
	 */
	public static final Integer BULLET_LIST_ID = new Integer(0) ;

	/**
	 * Identifier of the numbered list style.
	 */
	public static final Integer NUMBERED_LIST_ID = new Integer(1) ;

	
	/**
	 * Name of the function responsible for generating the XML code for the different paragraphs.
	 */
	public static final String GENERATE_FUNCTION = "generate" ; //$NON-NLS-1$

	
	/**
	 * Number of supported list levels.
	 */
	public static final int N_LEVELS = 4 ;

	/**
	 * Default start value for the numbering of the list.
	 */
	public static final Integer START_VALUE = new Integer(1) ;

	/**
	 * Identifier of the bullets for lists.
	 */
	public static final Integer BULLET_LIST_TYPE = new Integer(23) ;

	/**
	 * Default hanging indent for all lines after first for list elements.
	 */
	public static final Integer HANGING = new Integer(360) ;

	/**
	 * Default format of the numbering for numbered list elements.
	 */
	public static final String NUMBERING_FORMAT = "%1." ; //$NON-NLS-1$

	/**
	 * Default format of the numbering for bullet list elements.
	 */
	public static final String BULLET_FORMAT = "%1" ; //$NON-NLS-1$

	/**
	 * Default alignment of the numbering for bullet list elements.
	 */
	public static final String JUSTIFICATION = "left" ; //$NON-NLS-1$

	/**
	 * Default tab position of the numbering for list elements.
	 */
	public static final int MIN_TAB_POSITION = 720 ;

	/**
	 * Default tab position step between two levels of the numbering for list elements.
	 */
	public static final int TAB_STEP = 720 ;
	

	/**
	 * Number of supported heading levels.
	 */
	public static final int N_HEADINGS = 5 ;
	
	
	/**
	 * Style type for the default paragraph style.
	 */
	public static final String DEFAULT_STYLE_TYPE = "paragraph"; //$NON-NLS-1$
	
	/**
	 * Used to indicate that a style is the default one for a given element type.
	 */
	public static final String DEFAULT_IS_DEFAULT = "on"; //$NON-NLS-1$
	
	/**
	 * Name of the default paragraph style.
	 */
	public static final String DEFAULT_NAME = "default"; //$NON-NLS-1$
	
	/**
	 * Displayed name of the default paragraph style.
	 */
	public static final String DEFAULT_GUI_NAME = "Default";  //$NON-NLS-1$
	
	/**
	 * Font used by the default paragraph style.
	 */
	public static final String DEFAULT_FONT = "Times new Roman" ; //$NON-NLS-1$
	
	
	/**
	 * Name of the style used after this one.
	 */
	public static final String HEADING_NEXT_STYLE = DEFAULT_NAME ;
	
	/**
	 * Format of the style names for the headings. To use, you need
	 * to provide the level of the heading (1 = first level, 2 = second ...).
	 */
	public static final String HEADING_NAME = "heading%d" ; //$NON-NLS-1$
	
	/**
	 * Format for the displayed named for the headings. To use, you need
	 * to provide the level of the heading (1 = first level, 2 = second ...).
	 */
	public static final String HEADING_GUI_NAME = "Heading %d" ;  //$NON-NLS-1$
	
	/**
	 * Font used by all headings.
	 */
	public static final String HEADING_FONT = "Times new Roman" ; //$NON-NLS-1$
	
	/**
	 * Name of the charset used to write Word documents.
	 */
	public static final String WORD_CHARSET = "UTF-8" ; //$NON-NLS-1$

}// interface GenerationConstants